const express = require('express');
const router = express.Router();
const Dept = require("../../../controllers/sys_depts.controller");
/**
 * @typedef deptBody
 * @property {string} name - 部门名称
 * @property {boolean} status - 部门状态
 */

/**
 * 部门列表
 * @route POST /api/private/dept
 * @group 部门管理
 * @security 
 *   - JWT: []
 *   - Visitor: []
 * @param {deptBody.model} body.body - 请求参数
 * @returns {deptsModel[]} 成功 返回部门数据列表
 * @returns {ResponseMeta.model} 错误异常
 */
router.post("/", Dept.findAll);

/**
 * 新增部门
 * @route POST /api/private/dept/add
 * @group 部门管理
 * @security JWT, Visitor
 * @param {deptsModel.model} body.body 请求参数 name 必填
 * @returns {deptsModel.model} 成功 返回部门数据
 * @returns {ResponseMeta.model} 错误异常
 */
router.post("/add", Dept.create);

/**
 * 修改部门
 * @route POST /api/private/dept/edit
 * @group 部门管理
 * @security JWT
 * @param {deptsModel.model} body.body 请求参数 id 必填
 * @returns {deptsModel.model} 成功 返回部门数据
 * @returns {ResponseMeta.model} 错误异常
 */
router.post("/edit", Dept.update);

/**
 * 删除部门
 * @route POST /api/private/dept/delete
 * @group 部门管理
 * @security JWT
 * @param {object} body.body 请求参数 id 必填
 * @returns {ResponseMeta.model} 成功
 * @returns {ResponseMeta.model} 错误异常
 */
router.post("/delete", Dept.delete);

module.exports = router;